Incident Push (Version 2025‑05‑15)
Register a callback to receive robot incident alerts in real time. Group customer push support has been added.
- Compatibility: Subscriptions created or re-saved on or after 2025‑05‑15 will adopt the new top-level field format as described in this document.
- Existing subscriptions remain in the original two-level format (
appId
+payload
) and are not affected. - New top‑level fields (siblings of
appId
andpayload
): - Group Customers: Multiple tenants under the same group can receive pushes through a single callback URL, distinguished by the newly added top-level fields.
Callback Registration Requirements
-
Language: Must conform to IETF BCP 47 (e.g.,
en-US
,zh-CN
). -
Callback:
url
, for example,https://{{host}}/callback
, with HTTP POST method.appId
, for example,24416c36-d9c7-4d74-a047-d6ca461fxxxx
(used for authentication).
Example (New Format)
curl -X POST "https://{{host}}/callback" \
-H "Content-Type: application/json" \
-d '{
"appId": "24416c36-d9c7-4d74-a047-d6ca461fxxxx",
"payload": {
"serialNumber": "ITEST00-0000-000-XXXX",
"modelTypeCode": "Scrubber 50H",
"content": {
"incidentId": "74bbc189-3313-4665-8204-9fbe45dfxxxx",
"incidentCode": "1011",
"incidentName": "Clean water full",
"incidentLevel": "H2",
"incidentStatus": 1,
"startTime": "2025-05-15T02:09:28Z",
"endTime": "",
"taskId": "..."
}
},
"messageTypeId": 1,
"productId": "ITEST00-0000-000-XXXX",
"messageId": "ITEST00-0000-000-XXXX:1:74bbc189-3313-4665-8204-9fbe45dfxxxx",
"traceId": "34c2e8f816414f318b7419b6a9c91d8f",
"messageTimestamp": 1715740800000
}'
Top-Level Field Descriptions
Field | Type | Description |
---|---|---|
appId | String | Used for authentication, unchanged |
payload | Object | Business data, same structure as in the previous version |
messageTypeId | Int | Push type: 1 = Incident, 2 = Task Report, 3 = Scheduling Task |
productId | String | Robot serial number (SN) |
messageId | String | Globally unique message ID in the format {productId}:{messageTypeId}:{businessId} |
traceId | String | Request trace ID |
messageTimestamp | Long | Push trigger timestamp (in milliseconds) |
Parameter description:
field name | field type | filed description | example |
---|---|---|---|
payload.serialNumber | String | robot serial number | "TEST00-0000-000-XXXX" |
payload.modelTypeCode | String | robot model type code | "Scrubber 50H" |
payload.content | Object | incident content | |
payload.content.incidentCode | String | incident code | "1011" |
payload.content.incidentName | String | incident name | "Clean water full" |
payload.content.incidentLevel | String | incident level | "H2" |
payload.content.incidentId | String | incident id | "c084a905-597e-4085-90dd-ecab697dxxxx" |
payload.content.incidentStatus | int | incident status,1 alarm,0 recover | 1 |
payload.content.startTime | String | incident start time. utc time zone | "2023-01-14T02:09:28Z" |
payload.content.endTime | String | Incident end time,utc time zone. If the incident does not recover, end time is empty string | "2023-01-14T02:09:28Z" or "" |
payload.content.taskId | String | The id of the task the robot is executing when the incident occurs. | "c084a905-597e-4085-90dd-ecab697dxxxx" |
payload.content.subTaskId | String | The id of the subtaskid the robot is executing when the incident occurs. | "c084a905-597e-4085-90dd-ecab697dxxxx" |
payload.content.taskInstanceId | String | The instance id of the task when the incident occurs. | "c084a905-597e-4085-90dd-ecab697dxxxx" |
payload.content.taskName | String | The name of the task when the incident occurs. | "task1" |
payload.content.mapId | String | The id of the map where the robot is located when the incident occurs. | "c084a905-597e-4085-90dd-ecab697dxxxx" |
payload.content.mapName | String | The name of the map where the robot is located when the incident occurs. | "map1" |
payload.content.navInstanceId | String | The navigation instance id that the robot was executing when the event occurred | "da4b1ca9-dbfe-4dd2-bcbe-715c00904f0b" |
payload.content.navName | String | The name of the navigation point the robot was executing when the event occurred | "hop" |
payload.content.incidentLevel: |
value | name | description |
---|---|---|
H0 | event | It is not an alarm, but only an event notification |
H1 | status | Buried point statistics |
H2 | status | The routine state of the robot can be solved by the user without any guidance |
H3 | warn | It does not affect the robot task. Users can solve |
H4 | assistance, problem | It does affect the robot task. Users can solve |
H5 | hidden danger | It does not affect the robot task. Users can not solve |
H6 | fault | It does affect the robot task. Users can not solve |
H7 | quality issues | Serious failure |